在 Windows Phone 如果想要控制閃光燈,該怎麼做?在 Windows Phone 8 提供類別與方法可直接控制閃光燈。
另外,最近將作業系統更換為 Windows 8.1 後,發生了相容性問題,無法執行模擬器,在此文也做分享。

本文刊載於
http://www.dotblogs.com.tw/chou/archive/2013/10/02/122227.aspx
http://www.dotblogs.com.tw/chou/archive/2013/09/11/118156.aspx
在這篇文章您可以學到:
控制閃光燈
首先宣告 AudioVideoCaptureDevice 類別
protected AudioVideoCaptureDevice Device { get; set; }
想要開啟閃光燈,可參考以下程式碼:
private async void ButtonTurnOnFlashLight_Click(object sender, RoutedEventArgs e)
{
    var sensorLocation = CameraSensorLocation.Back;
    try
    {
        if (this.Device == null)
        {
            //  取得 AudioViceoCaptureDevice
            this.Device = await AudioVideoCaptureDevice.OpenAsync(sensorLocation, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(sensorLocation).First());
        }
        // Turn on FlashLight
        var supportedCameraModes = AudioVideoCaptureDevice.GetSupportedPropertyValues(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchMode);
        if (supportedCameraModes.ToList().Contains((UInt32)VideoTorchMode.On))
        {
            this.Device.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On);
            // 設定亮度為最大
            this.Device.SetProperty(KnownCameraAudioVideoProperties.VideoTorchPower, AudioVideoCaptureDevice.GetSupportedPropertyRange(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchPower).Max);
        }
    }
    catch (Exception ex)
    {
        // 無法控制閃光燈
    }
}
想要關閉閃光燈,可參考以下程式碼:
private void ButtonTurnOnFlashLight_Click(object sender, RoutedEventArgs e)
{
    var sensorLocation = CameraSensorLocation.Back;
    try
    {
        var supportedCameraModes = AudioVideoCaptureDevice
            .GetSupportedPropertyValues(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchMode);
        // Turn off FlashLight
        if (this.Device != null && supportedCameraModes.ToList().Contains((UInt32)VideoTorchMode.Off))
        {            this.Device.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.Off);
        }
    }
    catch (Exception ex)
    {
        // 無法控制閃光燈
    }
}
Windows Phone Emulator 於 Windows 8.1 執行時遇到相容性問題無法執行
當我在 Windows 8.1 安裝 Visual Studio 2012 與 Windows Phone 8 SDK 後,想要執行 Windows Phone 模擬器,出現相容性問題,無法執行 Windows Phone 模擬器。

錯誤訊息 0x80131500,該如何處理?

我們可以透過安裝 Visual Studio 2012 Update 3 解決此問題,下載網頁:
http://www.microsoft.com/zh-tw/download/details.aspx?id=39305
建議可下載 ISO 檔案進行安裝,下載網址:
http://go.microsoft.com/fwlink/?LinkId=301705
也可透過 [擴充功能和更新]。

在 [更新] 選項,選擇更新 Visual Studio 2012 Update 3。
